package com.treasure.service.domain;

import java.util.Date;
import javax.persistence.*;

@Table(name = "t_user_account")
public class TUserAccount {
    /**
     * 用户ID
     */
    @Id
    @Column(name = "user_id")
    private Long userId;

    /**
     * 用户总资产包括 可用余额+冻结资产+奖励金额
     */
    @Column(name = "total_assets")
    private Long totalAssets;

    /**
     * 账户余额：可用余额
     */
    @Column(name = "total_balance")
    private Long totalBalance;

    /**
     * 冻结金额
     */
    @Column(name = "total_freeze")
    private Long totalFreeze;

    /**
     * 奖励金额
     */
    private Long reward;

    /**
     * 创建时间
     */
    @Column(name = "add_time")
    private Date addTime;

    /**
     * 更新时间
     */
    @Column(name = "mod_time")
    private Date modTime;

    /**
     * 获取用户ID
     *
     * @return user_id - 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取用户总资产包括 可用余额+冻结资产+奖励金额
     *
     * @return total_assets - 用户总资产包括 可用余额+冻结资产+奖励金额
     */
    public Long getTotalAssets() {
        return totalAssets;
    }

    /**
     * 设置用户总资产包括 可用余额+冻结资产+奖励金额
     *
     * @param totalAssets 用户总资产包括 可用余额+冻结资产+奖励金额
     */
    public void setTotalAssets(Long totalAssets) {
        this.totalAssets = totalAssets;
    }

    /**
     * 获取账户余额：可用余额
     *
     * @return total_balance - 账户余额：可用余额
     */
    public Long getTotalBalance() {
        return totalBalance;
    }

    /**
     * 设置账户余额：可用余额
     *
     * @param totalBalance 账户余额：可用余额
     */
    public void setTotalBalance(Long totalBalance) {
        this.totalBalance = totalBalance;
    }

    /**
     * 获取冻结金额
     *
     * @return total_freeze - 冻结金额
     */
    public Long getTotalFreeze() {
        return totalFreeze;
    }

    /**
     * 设置冻结金额
     *
     * @param totalFreeze 冻结金额
     */
    public void setTotalFreeze(Long totalFreeze) {
        this.totalFreeze = totalFreeze;
    }

    /**
     * 获取奖励金额
     *
     * @return reward - 奖励金额
     */
    public Long getReward() {
        return reward;
    }

    /**
     * 设置奖励金额
     *
     * @param reward 奖励金额
     */
    public void setReward(Long reward) {
        this.reward = reward;
    }

    /**
     * 获取创建时间
     *
     * @return add_time - 创建时间
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * 设置创建时间
     *
     * @param addTime 创建时间
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * 获取更新时间
     *
     * @return mod_time - 更新时间
     */
    public Date getModTime() {
        return modTime;
    }

    /**
     * 设置更新时间
     *
     * @param modTime 更新时间
     */
    public void setModTime(Date modTime) {
        this.modTime = modTime;
    }
}